Tutorial: Compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure

您所在的位置:网站首页 docker registry ui Tutorial: Compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure

Tutorial: Compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure

#Tutorial: Compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure | 来源: 网络整理| 查看: 265

Tutorial: Compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure Artigo 04/10/2023

Este artigo demonstra como criar e implantar um microsservi莽o nos Aplicativos de Cont锚iner do Azure de um reposit贸rio de origem usando a linguagem de programa莽茫o de sua escolha.

Este tutorial 茅 o primeiro de uma s茅rie de artigos que o guiam sobre como usar as principais capacidades dentro dos Aplicativos de Cont锚iner do Azure. A primeira etapa 茅 criar um servi莽o de API Web de back-end que retorna uma cole莽茫o est谩tica de 谩lbuns de m煤sica.

Observa莽茫o

Voc锚 tamb茅m pode compilar e implantar este aplicativo usando o az containerapp up, seguindo as instru莽玫es no artigo In铆cio R谩pido: Compilar e implantar um aplicativo nos Aplicativos de Cont锚iner do Azure a partir de um reposit贸rio. O comando az containerapp up 茅 uma maneira r谩pida e conveniente de compilar e implantar seu aplicativo nos Aplicativos de Cont锚iner do Azure usando um 煤nico comando. No entanto, ele n茫o fornece o mesmo n铆vel de personaliza莽茫o para o seu aplicativo de cont锚iner.

O pr贸ximo tutorial da s茅rie compilar谩 e implantar谩 o aplicativo Web front-end nos Aplicativos de Cont锚iner do Azure.

A captura de tela a seguir mostra a sa铆da do 谩lbum da API implantado neste tutorial.

Pr茅-requisitos

Para concluir este projeto, voc锚 precisa dos seguintes itens:

Requisito Instru莽玫es Conta do Azure Se voc锚 n茫o tiver, crie uma conta gratuita. Voc锚 precisa da permiss茫o de Colaborador ou Propriet谩rio na assinatura do Azure para continuar.

Consulte Atribuir fun莽玫es do Azure usando o portal do Azure para obter detalhes.

Conta do GitHub Inscreva-se gratuitamente. Git Instale o git CLI do Azure Instale a CLI do Azure. Requisito Instru莽玫es Conta do Azure Se voc锚 n茫o tiver, crie uma conta gratuita. Voc锚 precisa da permiss茫o de Colaborador ou Propriet谩rio na assinatura do Azure para continuar. Consulte Atribuir fun莽玫es do Azure usando o portal do Azure para obter detalhes. Conta do GitHub Inscreva-se gratuitamente. Git Instale o git CLI do Azure Instale a CLI do Azure. Docker Desktop O Docker fornece instaladores que configuram o ambiente do Docker no macOS, no Windows e no Linux.

No prompt de comando, digite docker para garantir que o Docker esteja em execu莽茫o.

Instala莽茫o

Para entrar no Azure usando a CLIl, execute o comando a seguir e siga os prompts para concluir o processo de autentica莽茫o.

Bash PowerShell do Azure az login Connect-AzAccount

Verifique se voc锚 est谩 executando a vers茫o mais recente da CLI com o comando de atualiza莽茫o.

Bash PowerShell do Azure az upgrade

Voc锚 deve ter o m贸dulo Az mais recente instalado. Ignore os avisos sobre m贸dulos em uso no momento.

Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force Bash PowerShell do Azure

Em seguida, instale ou atualize a extens茫o dos Aplicativos de Cont锚iner do Azure para a CLI.

az extension add --name containerapp --upgrade

Instale o m贸dulo Az.App se ele n茫o estiver instalado.

Install-Module -Name Az.App

Se voc锚 tiver uma vers茫o mais antiga do m贸dulo Az.App instalada, atualize-a.

Update-Module -Name Az.App

Registre os namespaces Microsoft.App e Microsoft.OperationalInsights se voc锚 ainda n茫o os registrou em sua assinatura do Azure.

Bash PowerShell do Azure az provider register --namespace Microsoft.App az provider register --namespace Microsoft.OperationalInsights Register-AzResourceProvider -ProviderNamespace Microsoft.App Register-AzResourceProvider -ProviderNamespace Microsoft.OperationalInsights

Agora que a configura莽茫o da CLI do Azure foi conclu铆da, voc锚 pode definir as vari谩veis de ambiente que s茫o usadas ao longo deste artigo.

Bash PowerShell do Azure

Defina as vari谩veis a seguir no shell bash.

RESOURCE_GROUP="album-containerapps" LOCATION="canadacentral" ENVIRONMENT="env-album-containerapps" API_NAME="album-api" FRONTEND_NAME="album-ui" GITHUB_USERNAME=""

Antes de executar o comando, substitua pelo seu nome de usu谩rio do GitHub.

Em seguida, defina um nome de registro de cont锚iner exclusivo para voc锚.

ACR_NAME="acaalbums"$GITHUB_USERNAME

Defina as vari谩veis a seguir no console do PowerShell.

$ResourceGroup = "album-containerapps" $Location = "canadacentral" $Environment = "env-album-containerapps" $APIName="album-api" $FrontendName="album-ui" $GITHUB_USERNAME = ""

Antes de executar o comando, substitua pelo seu nome de usu谩rio do GitHub.

Em seguida, defina um nome de registro de cont锚iner exclusivo para voc锚.

$ACRName = "acaalbums"+$GITHUB_USERNAME Preparar o reposit贸rio GitHub

Navegue at茅 o reposit贸rio para seu idioma preferido e bifurque-o.

C# Go JavaScript Python

Selecione o bot茫o Criar fork na parte superior do reposit贸rio da API do 谩lbum para bifurcar o reposit贸rio em sua conta.

Agora, voc锚 pode clonar o fork do reposit贸rio de exemplo.

Use o seguinte comando GIT para clonar seu reposit贸rio com fork na pasta code-to-cloud:

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud

Selecione o bot茫o Criar fork na parte superior do reposit贸rio da API do 谩lbum para bifurcar o reposit贸rio em sua conta.

Agora, voc锚 pode clonar o fork do reposit贸rio de exemplo.

Use o seguinte comando GIT para clonar seu reposit贸rio com fork na pasta code-to-cloud:

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-go.git code-to-cloud

Selecione o bot茫o Criar fork na parte superior do reposit贸rio da API do 谩lbum para bifurcar o reposit贸rio em sua conta.

Agora, voc锚 pode clonar o fork do reposit贸rio de exemplo.

Use o seguinte comando GIT para clonar seu reposit贸rio com fork na pasta code-to-cloud:

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-javascript.git code-to-cloud

Selecione o bot茫o Criar fork na parte superior do reposit贸rio da API do 谩lbum para bifurcar o reposit贸rio em sua conta.

Agora, voc锚 pode clonar o fork do reposit贸rio de exemplo.

Use o seguinte comando GIT para clonar seu reposit贸rio com fork na pasta code-to-cloud:

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-python.git code-to-cloud

Em seguida, altere o diret贸rio para a raiz do reposit贸rio clonado.

cd code-to-cloud/src Criar um grupo de recursos do Azure

Crie um grupo de recursos para organizar os servi莽os relacionados 脿 implanta莽茫o do aplicativo de cont锚iner.

Bash PowerShell do Azure az group create \ --name $RESOURCE_GROUP \ --location "$LOCATION" New-AzResourceGroup -Location $Location -Name $ResourceGroup Criar um Registro de Cont锚iner do Azure

Em seguida, crie uma inst芒ncia do ACR (Registro de Cont锚iner do Azure) em seu grupo de recursos para armazenar a imagem de cont锚iner da API do 谩lbum depois que ela for criada.

Bash PowerShell do Azure az acr create \ --resource-group $RESOURCE_GROUP \ --name $ACR_NAME \ --sku Basic \ --admin-enabled true $acr = New-AzContainerRegistry -ResourceGroupName $ResourceGroup -Name $ACRName -Sku Basic -EnableAdminUser Crie seu aplicativo

Com as tarefas do ACR, voc锚 pode compilar e efetuar push da imagem do docker para a API do 谩lbum sem instalar o Docker localmente.

Compilar o cont锚iner com o ACR

Execute o comando a seguir para iniciar o processo de build e push da imagem usando o ACR. O . ao final do comando representa o contexto de compila莽茫o do Docker, o que significa que esse comando deve ser executado na pasta src em que o Dockerfile est谩.

Bash PowerShell do Azure az acr build --registry $ACR_NAME --image $API_NAME . az acr build --registry $ACRName --image $APIName .

A sa铆da do comando az acr build mostra o progresso do upload do c贸digo-fonte para o Azure e os detalhes das opera莽玫es docker build e docker push.

Crie seu aplicativo

As etapas a seguir demonstram como compilar a imagem de cont锚iner localmente usando o Docker e efetuar push dela para o novo registro de cont锚iner.

Compilar o cont锚iner com o Docker

O comando a seguir cria uma imagem de cont锚iner para a API do 谩lbum e a marca com o nome totalmente qualificado do servidor de logon do ACR. O . ao final do comando representa o contexto de compila莽茫o do Docker, o que significa que esse comando deve ser executado na pasta src em que o Dockerfile est谩.

Bash PowerShell do Azure docker build --tag $ACR_NAME.azurecr.io/$API_NAME . docker build --tag "$ACRName.azurecr.io/$APIName" . Efetuar push da imagem para o seu registro de cont锚iner

Primeiro, entre no Registro de Cont锚iner do Azure.

Bash PowerShell do Azure az acr login --name $ACR_NAME az acr login --name $ACRName

Agora, envie a imagem por push ao registro.

Bash PowerShell do Azure docker push $ACR_NAME.azurecr.io/$API_NAME docker push "$ACRName.azurecr.io/$APIName" Criar um ambiente dos Aplicativos de Cont锚iner

Um ambiente em Aplicativos de Cont锚iner do Azure age como um limite seguro para um grupo de aplicativos de cont锚iner.

Crie o ambiente dos Aplicativos de Cont锚iner usando o comando a seguir.

Bash PowerShell do Azure az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION"

Um workspace do Log Analytics 茅 necess谩rio para o ambiente de Aplicativos de Cont锚iner. Os comandos a seguir criam um workspace do Log Analytics e salvam a ID do workspace e a chave compartilhada prim谩ria em vari谩veis.

$WorkspaceArgs = @{ Name = 'my-album-workspace' ResourceGroupName = $ResourceGroup Location = $Location PublicNetworkAccessForIngestion = 'Enabled' PublicNetworkAccessForQuery = 'Enabled' } New-AzOperationalInsightsWorkspace @WorkspaceArgs $WorkspaceId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroup -Name $WorkspaceArgs.Name).CustomerId $WorkspaceSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName $ResourceGroup -Name $WorkspaceArgs.Name).PrimarySharedKey

Para criar o ambiente, execute o seguinte comando:

$EnvArgs = @{ EnvName = $Environment ResourceGroupName = $ResourceGroup Location = $Location AppLogConfigurationDestination = 'log-analytics' LogAnalyticConfigurationCustomerId = $WorkspaceId LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey } New-AzContainerAppManagedEnv @EnvArgs Implantar sua imagem em um aplicativo de cont锚iner

Agora que tem um ambiente criado, voc锚 pode criar e implantar seu aplicativo de cont锚iner com o comando az containerapp create.

Crie e implante seu aplicativo de cont锚iner com o comando a seguir.

Bash PowerShell do Azure az containerapp create \ --name $API_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $ACR_NAME.azurecr.io/$API_NAME \ --target-port 3500 \ --ingress 'external' \ --registry-server $ACR_NAME.azurecr.io \ --query properties.configuration.ingress.fqdn

Ao definir --ingress como external, seu aplicativo de cont锚iner est谩 acess铆vel a partir da Internet p煤blica.

O target-port 茅 definido como 3500 para corresponder 脿 porta na qual o cont锚iner est谩 ouvindo solicita莽玫es.

Sem uma propriedade query, a chamada para az containerapp create retorna uma resposta JSON que inclui um conjunto avan莽ado de detalhes sobre o aplicativo. A adi莽茫o de um par芒metro de consulta filtra a sa铆da apenas para o FQDN (nome de dom铆nio totalmente qualificado) do aplicativo.

Para criar o aplicativo de cont锚iner, crie os objetos de modelo para passar como argumentos ao comando New-AzContainerApp.

Crie um objeto de modelo para definir os par芒metros da imagem de cont锚iner.

$ImageParams = @{ Name = $APIName Image = $ACRName + '.azurecr.io/' + $APIName + ':latest' } $TemplateObj = New-AzContainerAppTemplateObject @ImageParams

Voc锚 precisa executar o comando a seguir para obter suas credenciais de registro.

$RegistryCredentials = Get-AzContainerRegistryCredential -Name $ACRName -ResourceGroupName $ResourceGroup

Crie um objeto de credencial de registro para definir as informa莽玫es de registro e um objeto secreto para definir a senha do registro. O PasswordSecretRef se refere ao Name no objeto de segredo.

$RegistryArgs = @{ Server = $ACRName + '.azurecr.io' PasswordSecretRef = 'registrysecret' Username = $RegistryCredentials.Username } $RegistryObj = New-AzContainerAppRegistryCredentialObject @RegistryArgs $SecretObj = New-AzContainerAppSecretObject -Name 'registrysecret' -Value $RegistryCredentials.Password

Obtenha a ID de ambiente.

$EnvId = (Get-AzContainerAppManagedEnv -EnvName $Environment -ResourceGroup $ResourceGroup).Id

Crie o aplicativo de cont锚iner.

$AppArgs = @{ Name = $APIName Location = $Location ResourceGroupName = $ResourceGroup ManagedEnvironmentId = $EnvId TemplateContainer = $TemplateObj ConfigurationRegistry = $RegistryObj ConfigurationSecret = $SecretObj IngressTargetPort = 3500 IngressExternal = $true } $MyApp = New-AzContainerApp @AppArgs # show the app's fully qualified domain name (FQDN). $MyApp.IngressFqdn Ao definir IngressExternal como external, seu aplicativo de cont锚iner est谩 acess铆vel a partir da Internet p煤blica. O par芒metro IngressTargetPort 茅 definido como 3500 para corresponder 脿 porta na qual o cont锚iner est谩 ouvindo solicita莽玫es. Verificar a implanta莽茫o

Copie o FQDN para um navegador da Web. No navegador da Web, navegue at茅 o ponto de extremidade /albums do FQDN.

Limpar os recursos

Se n茫o for continuar para o tutorial Comunica莽茫o entre microsservi莽os, voc锚 poder谩 remover os recursos do Azure criados durante este guia de in铆cio r谩pido. Execute o comando a seguir para excluir o grupo de recursos junto com todos os recursos criados neste guia de in铆cio r谩pido.

Bash Azure PowerShell az group delete --name $RESOURCE_GROUP Remove-AzResourceGroup -Name $ResourceGroup -Force

Dica

Est谩 enfrentando problemas? Deixe-nos saber sobre GitHub abrindo um problema no reposit贸rio dos Aplicativos de Cont锚iner do Azure.

Pr贸ximas etapas

Este guia de in铆cio r谩pido 茅 o ponto de entrada para um conjunto de tutoriais progressivos que mostram os v谩rios recursos nos Aplicativos de Cont锚iner do Azure. Prossiga para aprender como habilitar a comunica莽茫o de um front-end da Web que chama a API implantada neste artigo.

Tutorial: comunica莽茫o entre microsservi莽os



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3